package org.lgh.juli.logging;

/**
 * <p>An exception that is thrown only if a suitable <code>LogFactory</code>
 * or <code>Log</code> instance cannot be created by the corresponding
 * factory methods.</p>
 *
 * @author Craig R. McClanahan
 */
public class LogConfigurationException extends RuntimeException{

    /**
     * 他的顶级父类中继承了Serializable
     *
     * 如果你改变了MyClass的定义（例如，添加、删除字段，修改方法等），
     * 那么当你尝试反序列化旧版本的MyClass对象时，可能会遇到InvalidClassException异常。
     * 为了防止这种情况，你应该在MyClass中显式地声明一个serialVersionUID
     * 单独扩展一个案例来说明这个问题
     * https://blog.csdn.net/2401_84048161/article/details/138058441
     */
    private static final long serialVersionUID = 1L;

    /**
     * Construct a new exception with <code>null</code> as its detail message.
     */
    public LogConfigurationException() {
        super();
    }


    /**
     * Construct a new exception with the specified detail message.
     *
     * @param message The detail message
     */
    public LogConfigurationException(String message) {
        super(message);
    }


    /**
     * Construct a new exception with the specified cause and a derived
     * detail message.
     *
     * @param cause The underlying cause
     */
    public LogConfigurationException(Throwable cause) {
        super(cause);
    }


    /**
     * Construct a new exception with the specified detail message and cause.
     *
     * @param message The detail message
     * @param cause The underlying cause
     */
    public LogConfigurationException(String message, Throwable cause) {
        super(message, cause);
    }
}
